﻿using Architecture.Domain.Dto.RoleDto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Architecture.Domain.Service.RoleServices
{
    /// <summary>
    /// 角色
    /// </summary>
    public interface IRoleService
    {
        public Task<int> AddRole(Role role);

        public Task<int> UpdateRole(Role role);

        public Task<int> DeletedRole(int roleId);

        public Task<PagingRoleDto<Role>> GetAllRole(int PageIndex, int PageSize,string?RoleName);

        public Task<List<Role>> GetAllRoles(Role role);

        /// <summary>
        /// 反填角色--用户信息
        /// </summary>
        /// <param name="roleId">角色ID</param>
        /// <returns></returns>
        public Task<object> GetModel(int roleId);

        /// <summary>
        /// 反填角色信息
        /// </summary>
        /// <param name="roleId"></param>
        /// <returns></returns>
        public Task<Role> GetModelById(int roleId);

        public Task<List<Role>> GetRole(string roleName);

        public Task<object> GetRoleInfo();

    }
}
